Cloud computing is an emerging paradigm that enables delivering IT capabilities as services. The IT capabilities can include Infrastructure like servers, storage etc. or platforms like java, .NET application development platforms etc. or software like CRM etc. The cloud computing model is based upon pooling computer resources and sharing them across multiple consumers from different organizations or organization units and offering them on pay-per-use models. A typical enterprise cloud includes multiple resource pools with different technologies, across locations, in various data centers as well as multiple external cloud providers. A key requirement for enterprise clouds is a solution for managing cloud resource allocations so that the usage of cloud computing resources can be optimized. The complexities is optimization based on several factors like different costs associated with different internal resource pools, different pricing models for different external cloud providers, different constraints for different services, different SLAs for different service instances etc. The workloads are also dynamic so correspondingly the resource requirements keep changing so the resource management needs to enable such dynamic allocations.
Existing technologies do not address the requirements for optimization of resource allocations for composite cloud services like “Testing As A Service” that are a combination of infrastructure, software like testing tools and people driven manual services like manual testing by skilled testers and software developers.
In view of the foregoing discussion, there is a need for solution which can optimize the allocation of resources in a composite cloud service environment which not only include the infrastructure and software but also the manual services.